package com.meilai.project.entity.personnel.org;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * @author 张驰
 * @date 2022/1/18 9:40
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("Roster")
@ApiModel(value= "花名册")
public class Roster extends BaseEntity {
    @ApiModelProperty(value = "用户id", example = "1")
    private Long user_id;
    @ApiModelProperty("照片")
    private String avatar;
    @ApiModelProperty("生日")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate birth;
    @ApiModelProperty("政治面貌")
    private String political_landspace;
    @ApiModelProperty("籍贯")
    private String native_place;
    @ApiModelProperty("民族")
    private String national;
    @ApiModelProperty("婚姻状况")
    private String marriage;
    @ApiModelProperty("文化程度")
    private String degree;
    @ApiModelProperty("身份证号码")
    private String id_no;
    @ApiModelProperty("联系电话")
    private String mobile;
    @ApiModelProperty("户籍所在地")
    private String household_registration;
    @ApiModelProperty("紧急联系电话")
    private String urgent_phone;
    @ApiModelProperty("现居住地址")
    private String home_address;
    @ApiModelProperty("QQ号码")
    private String qq;
    @ApiModelProperty(value = "能否接受工作调度 0：否  1：是", example = "1")
    private Integer dispatch;
    @ApiModelProperty(value = "能否接受加班 0：否  1：是", example = "1")
    private Integer work_overtime;
    @ApiModelProperty(value = "能否接受出差 0：否  1：是", example = "1")
    private Integer business_trip;
    @ApiModelProperty(value = "是否曾经被应聘 0：否  1：是", example = "1")
    private Integer employed;
    @ApiModelProperty(value = "是否有亲属或朋友在我司工作 0：否  1：是", example = "1")
    private Integer employed_friends;
    @ApiModelProperty("应聘的亲属朋友的名字")
    private String employed_relatives_friends_name;
    @ApiModelProperty("公司填写项-入编时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate comp_fill_entry_date;
    @ApiModelProperty("公司填写项-考察期开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate comp_fill_probation_start;
    @ApiModelProperty("公司填写项-考察期结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate comp_fill_probation_end;
    @ApiModelProperty("公司填写项-考察期工资")
    private BigDecimal comp_fill_probation_salary;
    @ApiModelProperty("公司填写项-入编后工资")
    private BigDecimal comp_fill_salary;
    @ApiModelProperty("公司填写项-入编后工资补充说明")
    private String comp_fill_salary_remark;
    @ApiModelProperty("公司填写项-人资部意见")
    private String comp_fill_person_dep_opinion;
    @ApiModelProperty("公司填写项-用人部门意见")
    private String comp_fill_use_dep_opinion;
    @ApiModelProperty("公司填写项-总经理意见")
    private String comp_fill_manager_opinion;
    @ApiModelProperty(value = "是否入编 0：否  1：是", example = "0")
    private Integer be_regular;
    @ApiModelProperty("合同签订时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate contract_sign_at;
    @ApiModelProperty("附件合同")
    private String attachment_contract;
    @ApiModelProperty("年限（开始日期）")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate years_begin;
    @ApiModelProperty("年限（结束日期）")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate years_end;
    @ApiModelProperty(value = "保密协议是否签订 0：否  1：是", example = "1")
    private Integer sign_confidentiality_agree;
    @ApiModelProperty("附件保密协议")
    private String attachment_con_agree;
    @ApiModelProperty("实际参保时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate social_security_date;
    @ApiModelProperty(value = "参保公司id", example = "1")
    private Long social_security_dep_id;
    @ApiModelProperty(value = "考察登记表id", example = "1")
    private Long entry_apply_id;
    @ApiModelProperty(value = "入编申请表id", example = "1")
    private Long regular_apply_id;
    @ApiModelProperty("身份证复印件链接")
    private String attachment_idcard;
    @ApiModelProperty("就业证附件链接")
    private String attachment_employment;
    @ApiModelProperty("离职日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate leave_date;
    @ApiModelProperty("离职交接单")
    private String attachment_handover_sheet;
    @ApiModelProperty("其他/备注")
    private String other;

    public static final String USER_ID = "user_id";

    public static final String AVATAR = "avatar";

    public static final String BIRTH = "birth";

    public static final String POLITICAL_LANDSPACE = "political_landspace";

    public static final String NATIVE_PLACE = "native_place";

    public static final String NATIONAL = "national";

    public static final String MARRIAGE = "marriage";

    public static final String DEGREE = "degree";

    public static final String ID_NO = "id_no";

    public static final String MOBILE = "mobile";

    public static final String HOUSEHOLD_REGISTRATION = "household_registration";

    public static final String URGENT_PHONE = "urgent_phone";

    public static final String HOME_ADDRESS = "home_address";

    public static final String QQ = "qq";

    public static final String DISPATCH = "dispatch";

    public static final String WORK_OVERTIME = "work_overtime";

    public static final String BUSINESS_TRIP = "business_trip";

    public static final String EMPLOYED = "employed";

    public static final String EMPLOYED_FRIENDS = "employed_friends";

    public static final String EMPLOYED_RELATIVES_FRIENDS_NAME = "employed_relatives_friends_name";

    public static final String COMP_FILL_ENTRY_DATE = "comp_fill_entry_date";

    public static final String COMP_FILL_PROBATION_START = "comp_fill_probation_start";

    public static final String COMP_FILL_PROBATION_END = "comp_fill_probation_end";

    public static final String COMP_FILL_PROBATION_SALARY = "comp_fill_probation_salary";

    public static final String COMP_FILL_SALARY = "comp_fill_salary";

    public static final String COMP_FILL_PERSON_DEP_OPINION = "comp_fill_person_dep_opinion";

    public static final String COMP_FILL_USE_DEP_OPINION = "comp_fill_use_dep_opinion";

    public static final String COMP_FILL_MANAGER_OPINION = "comp_fill_manager_opinion";

    public static final String BE_REGULAR = "be_regular";

    public static final String CONTRACT_SIGN_AT = "contract_sign_at";

    public static final String ATTACHMENT_CONTRACT = "attachment_contract";

    public static final String YEARS_BEGIN = "years_begin";

    public static final String YEARS_END = "years_end";

    public static final String SIGN_CONFIDENTIALITY_AGREE = "sign_confidentiality_agree";

    public static final String ATTACHMENT_CON_AGREE = "attachment_con_agree";

    public static final String SOCIAL_SECURITY_DATE = "social_security_date";

    public static final String SOCIAL_SECURITY_DEP_ID = "social_security_dep_id";

    public static final String ENTRY_APPLY_ID = "entry_apply_id";

    public static final String REGULAR_APPLY_ID = "regular_apply_id";

    public static final String ATTACHMENT_IDCARD = "attachment_idcard";

    public static final String ATTACHMENT_EMPLOYMENT = "attachment_employment";

    public static final String LEAVE_DATE = "leave_date";

    public static final String OTHER = "other";
}
